1. Field of the Invention
The present invention relates to a method and apparatus for adjusting carrier phase for coded two-dimensional signals received by a modem.
2. Background Art
It is known in the prior art that precoding the data at the transmitter of a modem using a convolutional encoder at the transmitter and performing maximum likelihood (Viterbi) decoding at the receiver improves the signal to noise ratio of the modem, assuming that the major impairment is Gaussian noise. As shown in U.S. Pat. No. 4,077,021 to Csajka et al., binary data is converted to multilevel complex valued symbols, with a convolutional encoder being used to precode the multilevel symbols. These multilevel symbols are represented by signal points in a signal constellation formed in the complex plane. A modulator uses the multilevel symbols to generate a modulated carrier wave signal which is transmitted over a channel to a receiver of a modem that makes a maximum likelihood decision.
In the previously mentioned U.S. Pat. No. 4,077,021, the signal points of the constellation are partitioned into multipoint subsets. This method is developed in more detail in an article entitled "Channel Coding with Multilevel/Phase Signals", G. Ungerboeck, IEEE Transactions on Information Theory, January, 1982, pp. 55-66. According to a method of mapping by set partition, the constellation is divided into subsets through a plurality of subdivisions. Each subset at a given level of subdivision is identified by a bit group output Y.sub.n. The desired level of subdivision dictates the number of bits in the bit group Y.sub.n, which is an output provided by the convolution encoder.
The above-described mapping by set paritition technique assumes that the phase of the received carrier signal is known. In telephone line transmission the received signal constellation may be rotated with respect to the transmitted signal constellation, due to phase hits. This rotation may cause the phase of the received signal to jump permanently to a new value. More specifically, if there is a phase hit, the received signal might be rotated by multiples of 90.degree.. If the transmitted signal is characterized by: EQU S(t)=.SIGMA.a.sub.n cos (.omega..sub.c t+.eta.)-.SIGMA.b.sub.n sin (.omega..sub.c t+.theta.) (Equation A)
then the received signal is given by: ##EQU1## where k can take any one of the values given by k=.+-.1, .+-.2, .+-.3, .omega..sub.c is the angular velocity of the carrier wave, and .theta. is the phase angle representing the encoded data. Since the phase lock-loop of the modem cannot recognize a carrier phase shift of more than 90.degree., the receiver will misinterpret the incoming signal. This phase hit problem is illustrated with respect to the signal constellation of FIG. 1 wherein a signal constellation of four points (.+-.1) is shown. If the transmitted point is (1, 1), then for a phase rotation of .pi./2; EQU S(t)=1.multidot.cos (.omega..sub.c t+.theta.)-1.multidot.sin (.omega..sub.c t+.theta.) (Equation C)
and the received point is: ##EQU2## the received point will be interpreted as (-1, 1), which is incorrect.
It is well-known in coding theory that a code is associated with a generator (equation) matrix and a parity equation (matrix). In the previously mentioned article by G. Ungerboeck, the parity check equation is used to analyze properties of convolutional codes and to derive systematic convolutional encoders. Mapping by set partitioning and the parity check equation are used in the implementation of the present invention, although the parity check equation is used in the present invention in a different manner for different objectives.
European patent application No. 0 052 463, teaches a method of determining whether the received signal of convolutionally encoded transmitted signal has undergone a phase rotation. To do this, the phase detector compares the decision (as to which subset was sent) made by the raw slicer after a delay of L symbols, with the decision being made by a Viterbi decoder. L is the delay that Viterbi decoder has in making a final decision to be put out to the user. If there is any difference between the two decisions, the receiver examines to see if the received point is close to the ideal point and if it is not, the receiver determines that the conflict in decisions is caused by noise. Otherwise, the receiver determines that the conflict in decisions is caused by phase rotation and this causes the error count to be incremented. When the threshold is reached, the receiver rotates the demodulated received samples by 90.degree.. If this does not rectify the situation, then further shifts of 90.degree. are added.
Another method of overcoming phase rotation is by differential encoding of the input bits. Ungerboeck has shown that in his method of coding one of the bits can be differentially encoded. In a CCITT submission from AT&T Informational Systems entitled "A Trellis-Coded Modulation Scheme that Includes Differential Encoding for 9600 Bit/sec, Full-Duplex, Two-wire Modem", dated August 1983, there is disclosed a method of compensating for phase rotations by multiples of 90.degree. using differential encoding.